/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.guaraba.patrimonio.controller;

/**
 *
 * @author marcelo
 */

import br.com.guaraba.patrimonio.controller.util.JsfUtil;
import br.com.guaraba.patrimonio.facade.EmprestimoFacade;
import br.com.guaraba.patrimonio.modelo.Emprestimo;
import br.com.guaraba.patrimonio.modelo.Patrimonio;
import br.com.guaraba.patrimonio.modelo.Pessoa;

import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import org.apache.log4j.Logger;

/**
 *
 * @author marcelo
 */
@ManagedBean
@SessionScoped
public class EmprestimoController implements Serializable {

    static Logger logger = Logger.getLogger(EmprestimoController.class.getName());
    @ManagedProperty(value = "#{jsfUtil}")
    private JsfUtil jsfUtil;
    private Emprestimo emprestimo;
    @EJB
    private EmprestimoFacade emprestimoFacade;
    private List<Emprestimo> listaEmprestimo;

    public EmprestimoController() {
        emprestimo = new Emprestimo();
        emprestimo.setPatrimonio(new Patrimonio());
        emprestimo.setPessoa(new Pessoa());
    }

    public JsfUtil getJsfUtil() {
        return jsfUtil;
    }

    public void setJsfUtil(JsfUtil jsfUtil) {
        this.jsfUtil = jsfUtil;
    }


    public void Salvar() {        
        try {
            this.emprestimoFacade.create(emprestimo);
            jsfUtil.addSuccess("Emprestimo_salvo_com_sucesso");
            this.NovoEmprestimo();
        } catch (Exception ex) {
            jsfUtil.addErro("Ocoreu_um_erro");
        }
    }

    public void BuscarTodosEmprestimos() {
        this.listaEmprestimo = this.emprestimoFacade.findAll();
    }

    public void BuscarPorNome(){

        //this.listaInstituicoes = this.instituicaoFacade.FindByNome(instituicao.getNome());
    }

    public Emprestimo getEmprestimo() {
        return emprestimo;
    }

    public void setEmprestimo(Emprestimo emprestimo) {
        this.emprestimo = emprestimo;
    }

    public EmprestimoFacade getEmprestimoFacade() {
        return emprestimoFacade;
    }

    public void setEmprestimoFacade(EmprestimoFacade emprestimoFacade) {
        this.emprestimoFacade = emprestimoFacade;
    }

    public List<Emprestimo> getListaEmprestimo() {
        return listaEmprestimo;
    }

    public void setListaEmprestimo(List<Emprestimo> listaEmprestimo) {
        this.listaEmprestimo = listaEmprestimo;
    }


    public void NovoEmprestimo() {
        emprestimo = new Emprestimo();
        emprestimo.setPatrimonio(new Patrimonio());
        emprestimo.setPessoa(new Pessoa());
    }
    
}
